#需要两个包
import jwt
import datetime
from django.conf import settings
header = {
    'alg': 'HS256',#加密算法
    'typ': 'JWT'#令牌类型
}
# 密钥，这个应该保持安全  ，不要泄露  现在先随便给一个值
SECRET_KEY = settings.SECRET_KEY

class ToolJWT:
    #生成token
    #参数 user 为一个字典  {id:,username,……}
    def gettoken(self,user):
        payload = {
            'userid':user.get("id"),
            "username":user.get("username",""),#存储多少个数据 无所阿伟  但是一定要有过期时间
            "exp":datetime.datetime.now()+datetime.timedelta(minutes=60*2)#过期时间
        }
        #生成token
        return jwt.encode(payload,SECRET_KEY,algorithm="HS256",headers=header)
    #验证token
    def checktoken(self,token):
        payload = jwt.decode(token,SECRET_KEY,algorithms=["HS256"],headers=header)
        return payload

#token="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOjMsInVzZXJuYW1lIjoiYWRtaW4tNCIsImV4cCI6MTczMDM3MTUzNH0.9a9sg4X1rFXtqwkjeIMbEbWKg4JEpTS2u4m0pYwKIPQ"
tooljwt=ToolJWT()
